package gof.com.yew.factory.simpleFactory;

/**
 * 实现调用者和创建者的分离
 * 核心作用：实例化对象，用工厂方法代替new
 * @author yw
 * 分类：
 * 简单工厂也称之为静态工厂
 * 工厂方法
 * 抽象工厂
 */
/**
 * 无工厂--->简单工厂
 * 无工厂：调用者直接new产生实例化对象，需要了解接口和实现类
 * 简单工厂：无需了解实现类
 * 简单工厂也称为静态工厂，一般使用静态方法，通过接收不同的参数创建不同的实例对象
 * 违反了开闭原则，对于新型的产品不修改原始类，无法扩展
 */
public class FactoryDemo01 {

	public static void main(String[] args) {
		Car car = CarSimpleFactory.createCar("Audi");
		car.run();
		car = CarSimpleFactory.createBydCar();
		car.run();
	}

}
